<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!-- 导入Struts2标签库 -->
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <!-- 让页面上所有的路径都相对于basePath -->
    <base href="<%=basePath%>">   
    <title>权限设置</title>
    <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/style/blue/file.css" />
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.0.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery_treeview/jquery.treeview.js"></script>
	
	<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/js/jquery_treeview/jquery.treeview.css" />
	<script type="text/javascript">
	$(function(){
		// 给所有的权限复选框加上事件
		$("[name=privilegeIds]").click(function(){
			// 在选中或取消当前权限时，同时也选中或取消所有的下级权限
			$(this).siblings("ul").find("input").attr("checked", this.checked);
			
			// 在选中当前权限时，要求也要选中上级权限，向上也是这样
			if( this.checked ){
				$(this).parents("li").children("input").attr("checked", true);
			}
			// 在取消当前权限时，如果所有同级权限也都未选中，则需要取消上级权限，向上一级也是这样做
			else{
				if( $(this).parent().siblings("li").children("input:checked").size() == 0 ){
					$(this).parent().parent().siblings("input").attr("checked", false);
					
					var startPoint = $(this).parent().parent();
					if( startPoint.parent().siblings("li").children("input:checked").size() == 0 ){
						startPoint.parent().parent().siblings("input").attr("checked", false);
					}
				}
			}
		});
	});
	
	</script>
  </head>
  <body>
 
  <center><h1 style="color:red;">这里是给【${nameCn}】分配权限页面</h1>
  <!--显示表单内容-->


    <s:form action="posAction_setPrivilege">
        <s:hidden name="id"></s:hidden>
        <div class="ItemBlock_Title1">
        
        <!-- 表单内容显示 -->
        <div class="ItemBlockBorder">
            <div class="ItemBlock">
                <table cellpadding="0" cellspacing="0" class="mainForm">
					<!--表头-->
					<thead>
						<tr align="LEFT" valign="MIDDLE" id="TableTitle">
							<td width="300px" style="padding-left: 7px;">
								<!-- 当选中全选的时候，所有name=privilegeIds的一批复选框都会被选中 -->
								<input type="checkbox" id="cbSelectAll" onClick="$('[name=privilegeIds]').attr('checked', this.checked)"/>
								<!-- 点击全选 这两个汉字的时候也可以将复选框选中 -->
								<label for="cbSelectAll">全选</label>
							</td>
						</tr>
					</thead>
			   		<!--显示数据列表-->
					<tbody id="TableData">
						<tr class="TableDetail1">
						   <!-- 显示权限树 -->
							<td>

				<ul id="tree">
				<!-- 当前角色的权限泛型集合 -->
				<s:iterator value="#prilist">
					<li><input type="checkbox" name="privilegeIds" value="${id}" id="cb_${id}" <s:property value="%{id in privilegeIds ? 'checked' : ''}"/> />
						<label for="cb_${id}"><span class="folder">${name}</span></label>
						<ul>
						<!-- 子权限集合 -->
						<s:iterator value="children">
							<li><input type="checkbox" name="privilegeIds" value="${id}" id="cb_${id}" <s:property value="%{id in privilegeIds ? 'checked' : ''}"/> />
								<label for="cb_${id}"><span class="folder">${name}</span></label>
								<ul>
								<s:iterator value="children">
									<li><input type="checkbox" name="privilegeIds" value="${id}" id="cb_${id}" <s:property value="%{id in privilegeIds ? 'checked' : ''}"/> />
										<label for="cb_${id}"><span class="folder">${name}</span></label>
									</li>
								</s:iterator>
								</ul>
							</li>
						</s:iterator>
						</ul>
					</li>		
				</s:iterator>
				</ul>

							</td>
						</tr>
					</tbody>
                </table>
            </div>
     
        
     <script type="text/javascript">
		$("#tree").treeview();
	</script>
        
        <!-- 表单操作 -->
        <div id="InputDetailBar">
            <input type="image" src="${pageContext.request.contextPath}/style/images/save.png"/>
            <a href="javascript:history.go(-1);"><img src="${pageContext.request.contextPath}/style/images/goBack.png"/></a>
        </div>
    </s:form>
</div>
  </center>
 <div class="Description">
	说明：<br />
	1，选中一个权限时：<br />
	&nbsp;&nbsp;&nbsp;&nbsp; a，应该选中他的所有直系上级。<br />
	&nbsp;&nbsp;&nbsp;&nbsp; b，应该选中他的所有直系下级。<br />
	2，取消选择一个权限时：<br />
	&nbsp;&nbsp;&nbsp;&nbsp; a，应该取消选择他的所有直系下级。<br />
	&nbsp;&nbsp;&nbsp;&nbsp; b，如果同级的权限都是未选择状态，就应该取消选中他的直接上级，并向上做这个操作。<br />

	3，全选/取消全选。<br />
	4，默认选中当前岗位已有的权限。<br />
</div>
 </body>
</html>











